package com.zyf.lj.service;

import com.zyf.lj.entity.JobInfo;
import com.zyf.lj.vo.PageResult;

import java.util.List;

/**
 * 招聘信息服务接口
 */
public interface JobInfoService {
    
    /**
     * 添加招聘信息
     * @param jobInfo 招聘信息对象
     * @return 是否添加成功
     */
    boolean addJobInfo(JobInfo jobInfo);
    
    /**
     * 更新招聘信息
     * @param jobInfo 招聘信息对象
     * @return 是否更新成功
     */
    boolean updateJobInfo(JobInfo jobInfo);
    
    /**
     * 根据ID查询招聘信息
     * @param id 招聘信息ID
     * @return 招聘信息对象
     */
    JobInfo getJobInfoById(Integer id);
    
    /**
     * 根据ID删除招聘信息
     * @param id 招聘信息ID
     * @return 是否删除成功
     */
    boolean deleteJobInfoById(Integer id);
    
    /**
     * 查询所有招聘信息
     * @return 招聘信息列表
     */
    List<JobInfo> getAllJobInfos();
    
    /**
     * 分页查询招聘信息
     * @param pageNum 页码
     * @param pageSize 每页数量
     * @param keyword 搜索关键词
     * @param industry 行业
     * @param jobType 职位类型
     * @param orderBy 排序字段
     * @param orderType 排序类型
     * @return 分页结果
     */
    PageResult<JobInfo> getJobInfoPage(
        Integer pageNum, 
        Integer pageSize, 
        String keyword, 
        String industry, 
        String jobType, 
        String orderBy, 
        String orderType
    );
    
    /**
     * 查询最新的招聘信息
     * @param limit 限制数量
     * @return 招聘信息列表
     */
    List<JobInfo> getLatestJobInfos(Integer limit);
} 